La bibliothèque de scripts est disponible avec un ensemble de fichiers en langage Arcade définissant une liste de fonctions paramétrables pouvant être utilisées pour la définition de règles attributaires ou d’expressions de champ(s) calculé(s).

Pour toutes modifications d’une règle sur une base en exploitation, une fonctionnalité d’export au format CSV de la règle est disponible. Ce fichier CSV peut ensuite être importé après avoir arrêté le service et supprimé la règle en place.

Règle « computeIdent »

Fonction de calcul d'un identifiant unique, de type texte, sur la base d'une séquence et d'un préfixe et/ou suffixe facultatif.

!          Cette fonction ne s’exécute pas sur le client car elle nécessite un accès aux séquences de la base de données.

Paramètres :

     Séquence de la base de données ;

     Préfixe de l'identifiant (facultatif) ;

     Suffixe de l'identifiant (facultatif).

Règle « copyConnectedAttribute »

Fonction de copie de la valeur des attributs à partir des linéaires connectés.

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

Paramètres :

     Nom du réseau ;

     Liste des champs de la source à affecter ;

     Liste des champs de la source linéaire à prélever ;

     Liste des règles de choix en cas de valeurs multiples : « first », « biggest », « smaller », « network_type ».

!       L’ordre des champs et des règles détermine les appariements et le traitement qui sera effectué.

Règle « copyFromAbacus »

Fonction de calcul d'un attribut en utilisant un abaque.

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

Paramètres :

     Source de donnée de l’abaque ;

     Liste des champs de filtre de la source ;

     Liste des champs de la source à prélever ;

     Liste des champs contenant les valeurs du filtre ;

     Liste des champs à affecter.

L’ordre des champs détermine les appariements.

Règle « copyGeometryValue »

Fonction de prélèvement de propriété(s) provenant de la géométrie pour alimenter des attributs de l'enregistrement. Selon le type de géométrie de l’objet, les propriétés possibles sont : « x », « y », « z », « fromx », « fromy », « fromz », « tox », « toy », « toz », « wkid », « length » et « area ».

!       Si la base de données n’est pas en 3D, ne pas exploiter les propriétés « z », « fromz » et « toz ».

Paramètres :

     Liste des noms de propriétés à prélever ;

     Liste des champs de la source à affecter.

!       L’ordre des champs détermine les appariements.

Règle « copyValue »

Fonction de copie d'attribut(s) depuis un même objet.

Paramètres :

     Liste des champs de la source à copier ;

     Liste des champs de la source à renseigner.

!       L’ordre des champs détermine les appariements.

Règle « idcalculation »

Fonction de calcul d’un identifiant unique numérique obtenu par une séquence qui est affecté dans un champ numérique. Un second champ de type texte est également renseigné à partir de l’identifiant numérique obtenu et d’un préfixe et/ou suffixe.

!          Cette fonction ne s'exécute pas sur le client car elle nécessite un accès aux séquences de la base de données.

Paramètres :

     Séquence de la base de données ;

     Préfixe de l'identifiant (facultatif) ;

     Suffixe de l'identifiant (facultatif) ;

     Champ identifiant texte ;

     Champ identifiant numérique (facultatif).

Règle « propagateAttribute »  

Fonction de propagation de valeur d'attribut(s) modifiée dans les éléments connectés de la source indiquée.

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

Paramètres :

     Liste de champs de la source à propager ;

     Nom du réseau ;

     Nom de la source de données de destination ;

     Liste des champs de la source de destination à affecter.

!       L’ordre des champs détermine les appariements.

Règle « propagateFromAdresse »

Fonction de propagation de l'adresse (ponctuel) la plus proche, dans une tolérance donnée, de l'élément concerné par la règle.

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à la table d’adresses.

Paramètres :

     Nom de la source de données de recherche ;

     Distance maximale de recherche ;

     Champ de la source de recherche correspondant au « Numéro de la voie »  (facultatif);

     Champ de la source de recherche correspondant à l’« Indice de répétition »  (facultatif);

     Champ de la source de recherche correspondant au « Type de la voie »  (facultatif);

     Champ de la source de recherche correspondant au « Nom de la voie »  (facultatif);

     Champ de la source de recherche correspondant au « Code postal »  (facultatif);

     Champ de la source de recherche correspondant à la « Commune »  (facultatif);

     Champ à affecter avec la concaténation des champs demandés.

Règle « propagateFromContainer »

Fonction de propagation d'attribut(s) d'un élément surfacique contenant la plus grande partie d’un élément (ponctuel, linéaire ou surfacique) sur lequel s'applique la règle.

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à la table des conteneurs.

Paramètres :

     Nom de la source de données surfaciques de recherche ;

     Liste des champs de la source de recherche à propager ;

     Liste des champs à affecter.

L’ordre des champs détermine les appariements.

Règle « propagateFromNearest »

Fonction de propagation d'attribut(s) d’un élément à proximité, dans une tolérance donnée, sur l'élément concerné par la règle.

!          Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à la table de l’élément le plus proche.

Paramètres :

     Nom de la source de données de recherche ;

     Distance maximale de recherche ;

     Liste des champs de la source de recherche à propager ;

     Liste des champs à affecter.

L’ordre des champs détermine les appariements.

Règle « propagateLineStatusChanged  »

Fonction de mise à jour du l'état de validation des linéaires connectés à l'appareil ou à la jonction en cas de changement de connectivité ou de valeur d'attributs.

!          Cette fonction ne s’exécute pas sur le client .

!          Cette fonction s’applique uniquement sur les sources « Appareil » et « Jonction ».

!          Pour mettre en place cette fonction, la source « Linéaire » doit être associée à au moins une règle de validation pour avoir le champ « validationstatus ».

Paramètres :

     Nom du réseau ;

     Liste des champs de la source à analyser. Il est préconisé de déclarer au minium le champ « assettype ».

Cette règle fonctionne en association avec une ou plusieurs règles de validation.

Règle « propagateNodeStatusChanged  »

Fonction de mise à jour de l'état de validation des appareils ou des jonctions connectés en extrémité d’un linéaire en cas de changement de connectivité ou de valeur d'attributs.

!          Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

!          Cette fonction s’applique uniquement sur la source « Linéaire ».

!          Pour mettre en place cette fonction, la source à analyser « Appareil » ou « Jonction » doit être associée à au moins une règle de validation pour avoir le champ « validationstatus ».

Paramètres :

     Nom du réseau ;

     Source de données à mettre à jour : concerne uniquement les sources « Appareil » et « Jonction » ;

     Liste des champs de la source à analyser. Pour une source de données « Appareil » à mettre à jour, il est préconisé de déclarer au minium les champs « assettype », « fromdeviceterminal » et « todeviceterminal ».
Pour une source de données « Jonction » à mettre à jour, il est préconisé de déclarer au minium le champ « assettype ».

Cette règle fonctionne en association avec une ou plusieurs règles de validation.

Règle « propagateOrientation »

Fonction de calcul de l'orientation des ponctuels connectés à un linéaire qui vient d’être modifié.

!       Cette fonction ne s’exécute pas sur le client.

Paramètres :

     Nom du réseau ;

     Source de données ponctuel à orienter : concerne uniquement les source « Appareil » et « Jonction » ;

     Champ orientation à modifier.

Règle « updateChargePipe »

Fonction de mise à jour automatique de la charge d'une canalisation quand la hauteur ou la profondeur de début ou la profondeur de fin est modifiée.

Pas de paramètre.

Règle « updateCircularPipe »

Fonction de mise à jour automatique de la largeur d'une canalisation si la forme est circulaire.

Pas de paramètre.

Règle « updateInteriorDiameter »

Fonction de calcul, basée sur une table de correspondance, du diamètre intérieur d'une canalisation en fonction du matériau et du diamètre extérieur ou nominal selon le matériau.

!          Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à la table de correspondance entre le matériau et les diamètres.

Paramètres :

     Source de la table de correspondance ;

     Champ de la table de correspondance « Groupe » ;

     Champ de la table de correspondance « Matériau » ;

     Champ de la table de correspondance « Diamètre » ;

     Champ de la table de correspondance « Diamètre Intérieur ».

Règle « updateOrientation »

Fonction de calcul de l'orientation d'un élément ponctuel (Appareil ou Jonction) en fonction des linéaires auxquels il est connecté.

!       Cette fonction ne s’exécute pas sur le client.

Paramètres :

     Nom du réseau ;

     Champ orientation de la couche.

Règle « updateSlope »

Fonction de mise à jour de la valeur de la pente d'une canalisation.

Pas de paramètre.

Règle « updateYearQuality »

Fonction de mise à jour de l’attribut « Qualité de la date de pose » en fonction de l’attribut « Date de pose » et de l’attribut « Précision de la date de pose »

Pas de paramètre.

Règle « assertAttributeValue »

Fonction de vérification de l'unicité de la valeur d'un attribut au niveau des linéaires connectés à un appareil ou à une jonction.

!       Cette fonction s’applique uniquement sur les sources « Appareil » et « Jonction ».

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

Paramètres :

     Nom du réseau.

     Nom de la source de données « Linéaire » ;

     Liste des champs de la source de données « Linéaire » à contrôler.

Règle « assertConfigurationTerminal »

Fonction de vérification de l'unicité des bornes utilisées au niveau des linéaires connectés à un appareil déclaré en configuration de terminal.

!       Cette fonction s’applique uniquement sur la source « Appareil ».

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

Paramètres :

     Nom du réseau.

Règle « assertConnected »

Fonction de validation pour vérifier la présence d’un nœud (« Appareil » ou « Jonction ») à chaque extrémité d'un linéaire.

!       Cette fonction s’applique uniquement sur la source « Linéaire ».

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

Paramètres :

     Nom du réseau.

Règle « assertConnectivity »

Fonction de validation du nombre de linéaire(s) connecté(s) au niveau d’un ponctuel par rapport à la cardinalité définie.

!       Cette fonction s’applique uniquement sur les sources « Appareil » et « Jonction ».

!       Cette fonction ne s’exécute pas sur le client car elle nécessite l’accès à d’autres tables.

Paramètres :

     Nom du réseau ;

     Définition de la cardinalité de chaque couple « Asset Group / Asset Type » de la source calculée par 1Network Manager. Cette définition se présente sous la forme d’une chaine de caractères contenant toutes les associations entre un « Asset Group », un « Asset Type » et une cardinalité (« <code Asset Group>_<code Asset Type>=<cardinalité> ») séparées par des virgules.

!          La règle vérifie que le nombre de linéaire(s) connecté(s) est inférieur ou égal à la valeur de la cardinalité. Pour une égalité stricte, il faut modifier la règle générée.

!          La modification de la connectivité ou de la cardinalité, au niveau d’un Asset Type, impacte la définition de la ou des règles associées à cette fonction de validation. Le code Arcade associé à chaque règle impactée est mis à jour lors de la sauvegarde du modèle au format JSON. Ce code doit être recopié au niveau de chaque règle concernée dans la base de données.

Règle « assertIsUnique »

Fonction de validation pour vérifier l'unicité de la valeur d'un champ s'il est défini.

!       Cette fonction ne s’exécute pas sur le client.

Paramètres :

     Nom du réseau ;

     Source de données à contrôler ;

     Liste des champs de la source à contrôler ;

     Liste d’Asset Group de la source pour restreindre le contrôle (facultatif).

Règle « assertNotNull »

Fonction de validation pour vérifier que les champs listés ne sont pas vides.

Paramètres :

     Liste des champs à contrôler ;

     Liste d’Asset Type pour restreindre le contrôle (facultatif).